#ifndef CUBE_PLAYSTATE_H_
#define CUBE_PLAYSTATE_H_

class Level;
class Numbers;
class Scene;

struct PLAYSTATE_INFO
{
};

class PlayState : public GameState
{
public :
	PlayState();
	~PlayState();

	void				ChangeState( GameState** currentState, eGameMode nextState );
	bool				Initialize( void* info = NULL );
	LRESULT				MessageHandler( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );
	void				RefreshTimer();
	void				Release();
	void				Run( GameState** currentState, float time );

private :
	bool				CreateNewLevel( int level );
	void				Intro( float time ){}

	bool				_isIntroFinished;
	bool				_isLevelCleared;
	Level*				_pLevelData;

	Scene*				_pIntroScene;
	Scene*				_pScene;

	Numbers*			_pTimer;

#ifdef _DEBUG
public :
	void				ReloadLevel( int offset );
	
#endif

};

#endif